import antfu from '@antfu/eslint-config';
// 根据环境设置规则级别
export default antfu({
    formatters: true, // 使用pretter格式化代码
    vue: true, // 格式化vue规范
    ignores: [
        '*.sh', // 忽略.sh文件
        'node_modules', // 忽略node_modules文件夹
        '*.md', // 忽略.md文件
        '*.woff', // 忽略.woff文件
        '*.ttf', // 忽略.ttf文件
        '.idea', // 忽略.idea文件夹
        '/public', // 忽略/public文件夹
        '/docs', // 忽略/docs文件夹
        '.husky', // 忽略.husky文件夹
        '.local', // 忽略.local文件夹
        '/bin', // 忽略/bin文件夹
        'Dockerfile', // 忽略Dockerfile文件
        'dist', // 忽略dist文件夹
    ],
    stylistic: {
        indent: 4,
        useTabs: false,
        tabWidth: 4,
        semi: true,
    },
    lessOpinionated: true,
    rules: {
        'eslint-comments/no-unlimited-disable': 'off',
        'ts/no-use-before-define': 'off',
        'style/no-mixed-operators': 'off',
        'no-console': 'warn',
        'ts/no-unused-expressions': 'off',
        'style/max-statements-per-line': 'off',
        'ts/prefer-namespace-keyword': 'off',
        'antfu/top-level-function': 'off',
        'node/prefer-global/process': 'off',
        'ts/consistent-type-definitions': 'off',
        'ts/ban-ts-comment': 'off',
        'vue/singleline-html-element-content-newline': 'off', // vue 标签强制换行
        // 关闭一些耗时的规则
        'import/no-cycle': 'off',
        'import/no-deprecated': 'off',
        'import/no-named-as-default': 'off',
        'prefer-promise-reject-errors': 'off',
        // 关闭变量已声明但未读取值的校验
        'unused-imports/no-unused-vars': 'off',
    },
});
